package io.itit.ecp.admin.common.enums;

import io.itit.grass.common.enums.IBaseEnum;

import java.io.Serializable;

/**
 * <p>
 *
 * @Author：Roy
 * @Description：预警管理
 * @Date：Create by 2023-12-15 11:20:26
 */
public interface IEarlyWarningRecordEnums {

	/* 预警类型(1:设备计量预警,2:碳排放预警) */
	enum WarningType implements IBaseEnum {
		warningType1("1", "设备计量预警"), 
		warningType2("2", "碳排放预警"); 

		public final String warningType;
		public final String desc;

		WarningType(String warningType, String desc) {
			this.warningType = warningType;
			this.desc = desc;
		}

		@Override
		public Serializable getValue() {
			return warningType;
		}

		@Override
		public String getDesc() {
			return desc;
		}
	}

	/* 计量条件(1:按时计量,2:按日计量,3:按月计量) */
	enum MeterCondition implements IBaseEnum {
		meterCondition1("1", "按时计量"), 
		meterCondition2("2", "按日计量"), 
		meterCondition3("3", "按月计量"); 

		public final String meterCondition;
		public final String desc;

		MeterCondition(String meterCondition, String desc) {
			this.meterCondition = meterCondition;
			this.desc = desc;
		}

		@Override
		public Serializable getValue() {
			return meterCondition;
		}

		@Override
		public String getDesc() {
			return desc;
		}
	}

	/* 推送规则(1:实时推送,2:一天一次,3:一天两次,4:一天三次) */
	enum PushRule implements IBaseEnum {
		pushRule1("1", "实时推送"), 
		pushRule2("2", "一天一次"), 
		pushRule3("3", "一天两次"), 
		pushRule4("4", "一天三次"); 

		public final String pushRule;
		public final String desc;

		PushRule(String pushRule, String desc) {
			this.pushRule = pushRule;
			this.desc = desc;
		}

		@Override
		public Serializable getValue() {
			return pushRule;
		}

		@Override
		public String getDesc() {
			return desc;
		}
	}

	/* 判断规则(1:大于等于,2:小于等于) */
	enum JudgeRule implements IBaseEnum {
		judgeRule1("1", "大于等于"), 
		judgeRule2("2", "小于等于"); 

		public final String judgeRule;
		public final String desc;

		JudgeRule(String judgeRule, String desc) {
			this.judgeRule = judgeRule;
			this.desc = desc;
		}

		@Override
		public Serializable getValue() {
			return judgeRule;
		}

		@Override
		public String getDesc() {
			return desc;
		}
	}

	/* 预警级别(1:(一级)红色预警,2:(二级)橙色预警,3:(三级)黄色预警) */
	enum ThresholdLevel implements IBaseEnum {
		thresholdLevel1("1", "(一级)红色预警"), 
		thresholdLevel2("2", "(二级)橙色预警"), 
		thresholdLevel3("3", "(三级)黄色预警"); 

		public final String thresholdLevel;
		public final String desc;

		ThresholdLevel(String thresholdLevel, String desc) {
			this.thresholdLevel = thresholdLevel;
			this.desc = desc;
		}

		@Override
		public Serializable getValue() {
			return thresholdLevel;
		}

		@Override
		public String getDesc() {
			return desc;
		}
	}

	/* 状态(1:未读,2:部分已读,3:全部已读) */
	enum Status implements IBaseEnum {
		status1("1", "未读"), 
		status2("2", "部分已读"), 
		status3("3", "全部已读"); 

		public final String status;
		public final String desc;

		Status(String status, String desc) {
			this.status = status;
			this.desc = desc;
		}

		@Override
		public Serializable getValue() {
			return status;
		}

		@Override
		public String getDesc() {
			return desc;
		}
	}

}